<?php

namespace app\common;

trait Send
{
    /**成功返回方法
     * @array $data 返回的数据
     * @string $message 提示消息
     * @int $code 返回码（默认成功返回1，可以在配置中自定义）
     * @array $header 消息头
     * @return void
     */
    public static function success($data = [],$message = 'success',$code = 1,$header = ['content-type'=>'application/json'])
    {
        //http_response_code($code);    //设置返回头部
        $return['code'] = (int)$code;
        $return['message'] = $message;

        $return['data'] = (is_array($data) && empty($data)) ?  '': $data;
        // 组合头部信息
        foreach ($header as $name => $val) {
            if (is_null($val)) {
                header($name);
            } else {
                header($name . ':' . $val);
            }
        }
        exit(json_encode($return,JSON_UNESCAPED_UNICODE));
    }

    /**失败放回方法
     * @string $message 错误消息提示
     * @array $data 返回数据
     * @int $code 错误码，默认为0
     * @array $header 消息头
     * @return void
     */
    protected  static function error($message = 'Error',$data = [],$code = 0,$header=['content-type'=>'application/json']){
//        http_response_code($http_code);    //设置返回头部
        $return['code'] = (int)$code;
        $return['message'] = $message;
        $return['data'] = !empty($data) ? $data : '';
        // 发送头部信息
        foreach ($header as $name => $val) {
            if (is_null($val)) {
                header($name);
            } else {
                header($name . ':' . $val);
            }
        }
        exit(json_encode($return,JSON_UNESCAPED_UNICODE));
    }
}
